﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Autenticacao
{
    public partial class frm_insexploracao : Form
    {
        System.Data.SqlClient.SqlConnection con;
        
        public Cliente cli1;
        public Exploracao ex1;
        private string op1;


        public frm_insexploracao(Cliente cli2, Exploracao ex, string op2)
        {
            this.cli1 = cli2;
            this.ex1 = ex;
            this.op1 = op2;
            InitializeComponent();

            txtiexp_tipo.Text = ex1.get_tipo();
            txtiexp_nanimais.Text = ex1.get_nro_animais().ToString();

        }

        private void cmdiexp_ins_Click(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = @"Data Source = ANDRÉ-PC\SQLEXPRESS; Initial Catalog = horsepw_bd; Integrated Security = True;";
            con.Open();

            try
            {
                int cid = cli1.get_id();
                SqlCommand command1 = con.CreateCommand();
                if (op1 == "novo")
                {
                    if (txtiexp_nanimais.Text == "" || txtiexp_tipo.Text == "")
                        MessageBox.Show("É necessário preencher todos os campos!", "Inserir informação", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    else
                    {
                        command1.CommandText = "Insert into Exploracao (tipo_exploracao, nro_animais, id_cliente) Values ('" + txtiexp_tipo.Text + "', '" + txtiexp_nanimais.Text + "', " + cid + ")";
                        command1.CommandType = CommandType.Text;

                        SqlDataReader reader1 = command1.ExecuteReader();

                        MessageBox.Show("Exploração inserida com sucesso!", "Registo Efetuado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Para atualizar carregue no outro botão!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception er)
            {
                MessageBox.Show("Dados Inválidos!", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            con.Close();
        }

        private void cmdiexp_act_Click(object sender, EventArgs e)
        {
            con = new System.Data.SqlClient.SqlConnection();
            con.ConnectionString = @"Data Source = ANDRÉ-PC\SQLEXPRESS; Initial Catalog = horsepw_bd; Integrated Security = True;";
            con.Open();

            try
            {
                int ide = ex1.get_id();
                SqlCommand command2 = con.CreateCommand();
                if (op1 != "editar")
                {
                    MessageBox.Show("Erro! Escolheu guardar uma nova exploração!", "Atualize no outro botão!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    command2.CommandText = "Update Exploracao SET tipo_exploracao = '" + txtiexp_tipo.Text + "', nro_animais = '" + txtiexp_nanimais.Text + "' WHERE id_exploracao = "+ ide +"";
                    command2.CommandType = CommandType.Text;

                    SqlDataReader reader1 = command2.ExecuteReader();
                    ex1.set_tipo(txtiexp_tipo.Text);
                    ex1.set_nro_animais(Convert.ToInt32(txtiexp_nanimais.Text));

                    MessageBox.Show("Exploração Atualizada com sucesso!", "Atualização Efetuada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
            catch (Exception er)
            {
                MessageBox.Show("Dados Inválidos!", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            con.Close();
        }

        private void cmdiexp_voltar_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
